home *** CD-ROM | disk | FTP | other *** search
Text File | 1997-11-17 | 32.4 KB | 1,027 lines |
- Configuration HOWTO
- By Guido Gonzato, guido@ibogfs.cineca.it
- v0.99.3, 4 November 1997
-
- This HOWTO aims at making the fine-tuning of your newly installed
- Linux box quicker and easier. Here you will find a set of configura¡
- tions for the most common applications, so you can start to work with
- a well-usable system.
-
- 1. Introduction
-
- I have installed Linux on many PCs, and I've noted that current
- distributions are terrific, but often come with annoying lack of basic
- configuration. Most programs will work out of the box, but some won't.
- This is a shame: I don't see any reason why the newcomer should bear
- with the old and trite ``backspace problem'', or think that emacs
- doesn't have colours, or list directories contents in black and white.
-
- To help myself remember what needs to be configured first, I wrote a
- summary that I later expanded to become this HOWTO. Here you will find
- a handful of configuration examples for the most common applications.
- These examples are based on my personal experience installing Red Hat-
- based Linux boxes, so if you use other distributions, be aware. Please
- don't take any tips in this work as gospel: they just happen to work
- for me. In any case, if you want to know more you'll have to read the
- package docs and one of more HOWTOs on the subject. This HOWTO is just
- a summary---hopefully, handy and useful.
-
- There can be endless hardware configurations for a PC, but in my
- experience one is quite common: a PC fitted with a large HD split into
- three partitions (one for DOS/Windows, one for Linux, one for the
- swap), modem, CD-ROM drive, printer, mouse. This is the hardware I'll
- assume you want to configure, but it's easy to adapt the following
- tips to different configurations. It's implicitly assumed that you'll
- be root when editing/fixing/hacking.
-
- And now, sleeves up.
-
- 2. General System Setup
-
- 2.1. Keyboard
-
- First of all, how to configure the keyboard. If you missed this step
- during installation or have changed your keyboard, you'll have to:
-
- ╖ choose a suitable key table from /usr/lib/kbd/keytables/; for
- example, it.map selects the Italian keyboard
-
- ╖ edit the file /etc/sysconfig/keyboard so as it reads:
- KEYTABLE="/usr/lib/kbd/keytables/it.map"
-
- ╖ to set up the keyboard repeat rate and delay time, add this line to
- /etc/profile or to one of your rc files :
-
- /sbin/kbdrate -s -r 16 -d 500 # or whatever
-
- ╖ and finally, do this to get the permission to set up the keyboard:
-
- ~# chmod 666 /dev/port
-
- Upon the next reboot, the keyboard will work fine.
-
- 2.2. Kernel
-
- IMHO, the first thing to do next is build a kernel that best suits
- your system. It's very simple to do but, in any case, refer to the
- README file in /usr/src/linux/. Hints:
-
- ╖ consider carefully what your needs are. It's more productive to
- choose a suitable kernel and to apply patches once and for all,
- instead of reconfiguring and recompiling each month; this is
- especially true if your Linux box is a server. Don't forget to
- include support for all the hardware you might likely add in the
- future;
-
- ╖ if your PC is a Cyrix-based one, apply appropriate patches to
- improve performance. Information on
- http://www.linuxhq.com/patch/20-p0591.html;
-
- ╖ notebook users will want to improve legibility of their screen by
- applying the noblink patch;
-
- ╖ again for notebook users, if you plan to use a PCMCIA modem/fax
- don't compile serial support as a module; compile it in the kernel
- or your PCMCIA modem won't work.
-
- 2.3. Bootup Messages
-
- If you want to customise the bootup messages, check whether your
- /etc/rc.d/rc.local overwrites /etc/issue and /etc/motd. If so, get
- your hands on your editor and go.
-
- 2.4. Hostname
-
- Issuing the command hostname new_host_name is not enough. Edit
- /etc/sysconfig/network and change the hostname therein.
-
- 2.5. Sendmail Lock
-
- On some systems, sendmail locks the machine at boot time. Make sure
- your /etc/hosts contains a line that reads
-
- 127.0.0.1 localhost
-
- 2.6. Device Drivers
-
- Devices in /dev (or better, links to the actual device drivers) may be
- missing. Check what devices your mouse, modem, and CD-ROM drive
- correspond to, then do what follows:
-
- ~# cd /dev
- /dev# ln -s /dev/cua0 mouse
- /dev# ln -s /dev/cua1 modem
- /dev# ln -s /dev/hdb cdrom
-
- and, if you want, do chmod 666 to these devices to make them fully
- accessible by every user. Tip: in some laptops the mouse device is
- /dev/psaux: take this into account also when configuring X11.
-
- In addition, you'll want to make the floppy accessible by non-root
- users with chmod 666 /dev/fd*. This is bound to cause security
- problems, but I don't know the details. Comments on this are welcome.
-
- 2.7. Mouse
-
- gpm mouse services are useful to perform cut and paste in console and
- to use the mouse in some apps. Check that you have a file called
- /etc/sysconfig/mouse and that it reads:
-
- MOUSETYPE="Microsoft"
- XEMU3=yes
-
- Moreover, you must have a file /etc/rc.d/init.d/gpm. Of course, make
- sure this configuration is right for your mouse type. Tip: in some
- laptops, MOUSETYPE is ``PS/2''.
-
- 2.8. Mount Points
-
- It's handy to have mount points for the floppy, the CD-ROM, the DOS
- partition, and other devices. For example, you may do the following:
-
- ~# cd /mnt
- /# mkdir a: ; mkdir floppy ; mkdir cdrom ; mkdir win ; mkdir zip
-
- This creates mount points for an MS-DOS floppy, an ext2 floppy, the
- CD-ROM, the DOS partition, and the parallel port Zip drive.
-
- Now edit the file /etc/fstab and add the following entries:
-
- /dev/fd0 /mnt/a: msdos user,noauto 0 1
- /dev/fd0 /mnt/floppy ext2 user,noauto 0 1
- /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 1
- /dev/hda1 /mnt/dos msdos user,noauto 0 1
- /dev/sda4 /mnt/zip vfat user,noauto 0 1
-
- Obviously, you must use the correct device in the first field. To
- access Win95 long names, use vfat instead of msdos in the last line.
- This doesn't (yet) apply to vfat32, though.
-
- 2.9. LILO and Loadlin
-
- Many users want their PC to run both Linux and DOS/Windows, and want
- to choose at boot time which os to use. Let's suppose that /dev/hda1
- contains DOS/Windows and that /dev/hda2 contains Linux.
-
- Do what follows:
-
- ~# fdisk
- Using /dev/hda as default device!
-
- Command (m for help):a
- Partition number (1-4): 2
-
- Command (m for help):w
- ~#
-
- This makes the Linux partition bootable; this step ought to be carried
- out by activate when running LILO's QuickInst, but it won't work with
- my Red Hat.
-
- Write this basic /etc/lilo.conf file:
-
- boot = /dev/hda2
- compact
- delay = 50
- # message = /boot/bootmesg.txt # write your own
- root = current
- image = /boot/vmlinuz
- label = linux
- other = /dev/hda1
- table = /dev/hda
- label = dos
-
- Now issue /sbin/lilo and you're set. Being LILO a crucial part of your
- installation, you're strongly advised to read its documentation
- anyway.
-
- To boot Linux from DOS without resetting, put LOADLIN.EXE in a
- directory (in the DOS partition!) included in the DOS path; then copy
- your kernel to, say, C:\DOS\VMLINUZ. The following .BAT file will boot
- linux:
-
- rem linux.bat
- smartdrv /C
- loadlin c:\dos\vmlinuz root=/dev/hda2 r
-
- I you use Windows 95, set the properties of this .BAT so as it starts
- in MS-DOS mode.
-
- 2.10. Printer Configuration
-
- Red Hat has a fine configuration tool that worked wonderfully for my
- HP DeskJet 400; if you don't use Red Hat, manual configuration
- follows.
-
- Let's suppose you have a non-PostScript printer you want to use to
- print raw text (e.g., C source files) and PostScript files via
- GhostScript, which is assumed to be already installed.
-
- Setting up the printer involves a few steps:
-
- ╖ check which one the parallel print device is: try
-
- ~# echo "hello, world" > /dev/lp0
- ~# echo "hello, world" > /dev/lp1
-
- and take note which one works.
-
- ╖ make two spool directories:
-
- ~# cd /var/spool/lpd
- /var/spool/lpd/# mkdir raw ; mkdir postscript
-
- ╖ if your printer exibits the ``staircase effect'' (most inkjets do),
- you'll need a filter. Try printing two lines with
-
- ~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1
-
- if the output is like
-
- first line
- second line
-
- then save this file as /var/spool/lpd/raw/filter:
-
- #!/bin/sh
- # This filter does away with the "staircase effect"
- awk '{print $0, "\r"}'
-
- and make it executable with chmod 755 /var/spool/lpd/raw/filter.
-
- ╖ make a filter for PostScript emulation. Write the following filter
- as /var/spool/lpd/postscript/filter:
-
- #!/bin/sh
-
- DEVICE=djet500
- RESOLUTION=300x300
- PAPERSIZE=a4
- SENDEOF=
-
- nenscript -TUS -ZB -p- |
- if [ "$DEVICE" = "PostScript" ]; then
- cat -
- else
- gs -q -sDEVICE=$DEVICE \
- -r$RESOLUTION \
- -sPAPERSIZE=$PAPERSIZE \
- -dNOPAUSE \
- -dSAFER \
- -sOutputFile=- -
- fi
-
- if [ "$SENDEOF" != "" ]; then
- printf "\004"
- fi
-
- (in this example an HP DeskJet printer is assumed. Fix it to suit your
- printer).
-
- ╖ finally, add the following entries in /etc/printcap:
-
- # /etc/printcap
- lp|ps|PS|PostScript|djps:\
- :sd=/var/spool/lpd/postscript:\
- :mx#0:\
- :lp=/dev/lp1:\
- :if=/var/spool/lpd/postscript/filter:\
- :sh:
- raw:\
- :sd=/var/spool/lpd/raw:\
- :mx#0:\
- :lp=/dev/lp1:\
- :if=/var/spool/lpd/raw/filter:\
- :sh:
-
- For more complex or exotic printing configurations, the Printing-HOWTO
- awaits you.
-
- For Red hat users: be aware that the GSDEVICE chosen by Printtool will
- work, but is not necessarily the best for your printer. You may
- consider fiddling a bit with the file postscript.cfg; for instance, I
- changed GSDEVICE from cdj500 to djet500 and now my prints come out
- much quicker.
-
- 3. Software Configuration
-
- 3.1. bash(1)
-
- To tailor bash's behaviour, these are the files to edit:
-
- ╖ /etc/bashrc contains system wide aliases and functions;
-
- ╖ /etc/profile contains system wide environment stuff and startup
- programs;
-
- ╖ $HOME/.bashrc contains user's aliases and functions;
-
- ╖ $HOME/.bash_profile contains user's environment stuff and startup
- programs;
-
- ╖ $HOME/.bash_logout contains actions to be performed at logout;
-
- ╖ $HOME/.inputrc contains key bindings and other bits.
-
- Examples of these files are shown below. First, the most important:
- /etc/profile. It's used to configure a lot of features in your Linux
- box, as you will see in the following sections.
-
- ______________________________________________________________________
- # /etc/profile
-
- # System wide environment and startup programs
- # Functions and aliases go in /etc/bashrc
-
- # This file sets the following features:
- #
- # o path
- # o prompts
- # o a few environment variables
- # o colour ls
- # o less behaviour
- # o keyboard settings
- #
- # Users can override these settings and/or add others in their
- # $HOME/.bash_profile
-
- # set a decent path
-
- echo $PATH | grep X11R6 > /dev/null
- if [ $? = 1 ] ; then # add entries to the path
- PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."
- fi
-
- # notify the user: login or non-login shell. If login, the prompt is
- # coloured in blue; otherwise in magenta. Root's prompt is red.
-
- USER=`whoami`
- if [ $LOGNAME = $USER ] ; then
- COLOUR=44
- else
- COLOUR=45
- fi
-
- if [ $USER = 'root' ] ; then
- COLOUR=41
- fi
-
- # put a real escape character instead of ^[
- PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1m\w\$ '
- PS2="Continue> "
-
- # no core dumps, please
-
- ulimit -c 0
-
- # set umask
-
- if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
- umask 002
- else
- umask 022
- fi
-
- # a few variables
-
- USER=`id -un`
- LOGNAME=$USER
- MAIL="/var/spool/mail/$USER"
- EDITOR=jed
- HOSTNAME=`/bin/hostname`
- HISTSIZE=1000
- HISTFILESIZE=1000
- export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE
-
- # enable colour ls
-
- eval `dircolors /etc/DIR_COLORS -b`
- export LS_OPTIONS='-F -s -T 0 --color=tty'
-
- # customize less
-
- LESS='-M-Q'
- LESSEDIT="%E ?lt+%lt. %f"
- LESSOPEN="| lesspipe.sh %s"
- VISUAL=jed
- LESSCHARSET=latin1
- export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
-
- # customise the keyboard
-
- /sbin/kbdrate -s -r 16 -d 500
-
- for i in /etc/profile.d/*.sh ; do
- if [ -x $i ]; then
- . $i
- fi
- done
- ______________________________________________________________________
-
- This is /etc/bashrc:
-
- ______________________________________________________________________
- # /etc/bashrc
-
- # System wide functions and aliases
- # Environment stuff goes in /etc/profile
-
- alias which="type -path"
- alias d="ls"
- alias dir="d"
- ______________________________________________________________________
-
- This is .bashrc:
-
- ______________________________________________________________________
- # $HOME/.bashrc
- # Source global definitions
-
- if [ -f /etc/bashrc ]; then
- . /etc/bashrc
- fi
-
- # this is needed to notify the user that they are in non-login shell
-
- COLOUR=45
- # put a real escape character instead of ^[
- PS1='^[[$COLOUR;37m$USER:^[[37;40m\w\$ '
-
- # aliases
-
- alias cp='cp -i'
- alias l=less
- alias lyx='lyx -width 900 -height 700'
- alias mv='mv -i'
- alias rm='rm -i'
- alias x=startx
-
- # A few useful functions
-
- inst() # Install a .tar.gz archive in the current directory.
- { gzip -dc $1 | tar xvf - }
-
- cz() # List the contents of a .zip archive.
- { unzip -l $* }
-
- ctgz() # List the contents of a .tar.gz archive.
- {
- for file in $* ; do
- gzip -dc ${file} | tar tf -
- done
- }
-
- tgz() # Create a .tgz archive a la zip.
- {
- name=$1 ; tar -cvf $1 ; shift
- tar -rf ${name} $*
- gzip -S .tgz ${name}
- }
- ______________________________________________________________________
-
- This is .bash_profile:
-
- ______________________________________________________________________
- # $HOME/.bash_profile
-
- # User specific environment and startup programs
- # This file contains user-defined settings that override
- # those in /etc/profile
-
- # Get aliases and functions
- if [ -f ~/.bashrc ]; then
- . ~/.bashrc
- fi
-
- # re-get PS1 settings
-
- if [ $USER = 'root' ] ; then
- COLOUR=41
- else
- COLOUR=44
- fi
-
- # put a real escape character instead of ^[
- PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1m\w\$ '
-
- export PS1
- ______________________________________________________________________
-
- This is .bash_logout:
-
- ______________________________________________________________________
- # $HOME/.bash_logout
- clear
- ______________________________________________________________________
-
- This is .inputrc:
-
- ______________________________________________________________________
- # $HOME/.inputrc
-
- # key bindings
-
- "\e[1~": beginning-of-line
- "\e[3~": delete-char
- "\e[4~": end-of-line
- # (F1 .. F5) are "\e[[A" ... "\e[[E"
- "\e[[A": "info \C-m"
-
- set bell-style visible # please don't beep
- set meta-flag On # allow 8-bit input (i.e, accented letters)
- set convert-meta Off # don't strip 8-bit characters
- set output-meta On # display 8-bit characters correctly
- set horizontal-scroll-mode On
- set show-all-if-ambiguous On
- ______________________________________________________________________
-
- To make the backspace and delete keys work correctly in in xterm and
- other X11 applications, the following is also needed:
-
- ╖ put this in your .xinitrc:
-
- usermodmap=$HOME/.Xmodmap
- xmodmap $usermodmap
-
- ╖ put this in your .Xmodmap:
-
- keycode 22 = BackSpace
- keycode 107 = Delete
-
- this fixes the console. To fix xterm:
-
- ╖ put this in your .Xdefaults:
-
- xterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
- <Key>Delete: string(0x1b) string("[3~")\n\
- <Key>Home: string(0x1b) string("[1~")\n\
- <Key>End: string(0x1b) string("[4~")\n\
- Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
- Ctrl<Key>Next: string(0x1b) string("[41~")
-
- nxterm*VT100.Translations: #override <Key>BackSpace: string(0x7F)\n\
- <Key>Delete: string(0x1b) string("[3~")\n\
- <Key>Home: string(0x1b) string("[1~")\n\
- <Key>End: string(0x1b) string("[4~")\n\
- Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
- Ctrl<Key>Next: string(0x1b) string("[41~")
-
- More info in bash(1) and readline(3) man pages.
-
- Don't expect every application to work correctly! If you run joe in
- xterm, for instance, some keys won't work; the same goes for rxvt.
- Rumour has it that it's a termcap problem.
-
- 3.2. ls(1)
-
- ls can display directory listings using colours to highlight different
- file types. To enable this feature, add these lines to /etc/profile:
-
- eval `dircolors /etc/DIR_COLORS -b`
- export LS_OPTIONS='-F -T 0 --color=tty'
-
- This sets the environment variable LS_COLORS that contains the colour
- list set up in /etc/DIR_COLORS. Note: don't ask me why, but this won't
- work with some versions of rxvt; use some flavour of xterm instead. It
- looks like rxvt has a bug that prevents it from inheriting the
- environment correctly in some circumstances.
-
- 3.3. less(1)
-
- With this excellent pager you can browse not only plain text files,
- but also gzip compressed, tar and zip archives, man pages, and so on.
- Its configuration involves a few steps:
-
- ╖ to use it with the movement keys, have this plain ASCII file
- .lesskey in your home directory:
-
- ^[[A back-line
- ^[[B forw-line
- ^[[C right-scroll
- ^[[D left-scroll
- ^[OA back-line
- ^[OB forw-line
- ^[OC right-scroll
- ^[OD left-scroll
- ^[[6~ forw-scroll
- ^[[5~ back-scroll
- ^[[1~ goto-line
- ^[[4~ goto-end
- ^[[7~ goto-line
- ^[[8~ goto-end
-
- then run the command lesskey. This creates a binary file .less con¡
- taining the key bindings.
-
- ╖ write the following file as /usr/bin/lesspipe.sh:
-
- ___________________________________________________________________
- #!/bin/sh
- # This is a preprocessor for 'less'. It is used when this environment
- # variable is set: LESSOPEN="|lesspipe.sh %s"
-
- lesspipe() {
- case "$1" in
- *.tar) tar tf $1 2>/dev/null ;; # View contents of .tar and .tgz files
- *.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
- *.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # View compressed files correctly
- *.zip) unzip -l $1 2>/dev/null ;; # View archives
- *.arj) unarj -l $1 2>/dev/null ;;
- *.rpm) rpm -q -p -i -l $1 2>/dev/null ;;
- *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) FILE=`file -L $1`
- FILE=`echo $FILE | cut -d ' ' -f 2`
- if [ "$FILE" = "troff" ]; then
- groff -s -p -t -e -Tascii -mandoc $1
- fi ;;
- *) FILE=`file -L $1` ; # Check to see if binary
- FILE1=`echo $FILE | cut -d ' ' -f 2`
- FILE2=`echo $FILE | cut -d ' ' -f 3`
- if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \
- -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then
- strings $1
- fi ;;
- esac
- }
-
- lesspipe $1
- ___________________________________________________________________
-
- and remember to make it executable with chmod 755 lesspipe.sh.
-
- ╖ put these lines in /etc/profile:
-
- LESS="-M-Q" # long prompt, silent
- LESSEDIT="%E ?lt+%lt. %f" # edit top line
- LESSOPEN="| lesspipe.sh %s" # filter
- VISUAL=jed # default editor---insert your favourite
- LESSCHARSET=latin1 # display accented letters if needed
- export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
-
- The variable LESSCHARSET depends on the fact that I live in Italy and
- want to use the ISO 8859/1 character set. You fellow Americans,
- Japanese, Russians and so on had better not set it.
-
- 3.4. emacs(1)
-
- Some emacs distributions don't come preconfigured for colours and
- syntax highlighting. Write this in your .emacs:
-
- (global-font-lock-mode t)
- (setq font-lock-maximum-decoration t)
-
- This only works in X11. I'll leave it to you to peruse all of emacs'
- documentation to discover how to tailor it to your
- needs---potentially, it can take months of hacking...
-
- 3.5. joe(1)
-
- Check in /usr/bin/ whether jmacs, jstar, and jpico are symlinks to joe
- or standalone binaries; in the latter case, you may turn them to
- symlinks to save some disk space:
-
- ~# cd /usr/bin
- /usr/bin# ln -sf joe jmacs ; ln -sf joe jstar ; ln -sf joe jpico
-
- Then, all you have to do is copy /usr/lib/joe/joerc to your home dir
- as .joerc and tailor it.
-
- 3.6. jed
-
- This is my favourite editor: it does what I need, it's lighter and
- easier to configure than emacs, and IMHO emulates other editors quite
- better. Many users at my university want jed to emulate EDT, VMS'
- system editor.
-
- The configuration files are .jedrc and /usr/lib/jed/lib/*; the former
- can be adapted from jed.rc in the latter directory.
-
- ╖ to make jed use some keys correctly, create
- /usr/lib/jed/lib/defaults.sl whose only line reads:
-
- () = evalfile("linux");
-
- ╖ edit /usr/lib/jed/lib/linux.sl; remove the comment from the line
- that reads Info_Directory = "/usr/info"; and add /bin/mail after
- UCB_Mailer =;
-
- ╖ configuring jed to make it emulate EDT (or other editors) is
- straightforward: you just have to edit a couple of lines in .jedrc.
- If you want to use the numeric keypad `+' to delete words instead
- of a single character, add this in .jedrc:
-
- unsetkey("\eOl");
- unsetkey("\eOP\eOl");
- setkey("edt_wdel", "\eOl");
- setkey("edt_uwdel", "\eOP\eOl");
-
- after the line that reads () = evalfile("edt");.
-
- ╖ making xjed use the numeric keypad for EDT emulation requires
- inserting the following in .Xmodmap:
-
- keycode 77 = KP_F1
- keycode 112 = KP_F2
- keycode 63 = KP_F3
- keycode 82 = KP_F4
- keycode 86 = KP_Separator
-
- Moreover, make sure that your /etc/X11/XF86Config contains the follow¡
- ing lines:
-
- # ServerNumLock # must be commented out
- XkbDisable
-
- This applies to XFree 3.2. Unless you use a standard American keyboard
- though, note that ``XkbDisable'' brings some little problems. You'll
- find out by yourself.
-
- ╖ colour customization for xjed is done adding lines like these in
- .Xdefaults:
-
- xjed*Geometry: 80x32+150+50
- xjed*font: 10x20
- xjed*background: midnight blue
-
- More info in xjed.doc, included in the package.
-
- 3.7. TeX and Friends
-
- I'll assume you have the TeTeX distribution. Just a couple of things
- here:
-
- ╖ To configure the hyphenation pattern for your language, edit the
- file /usr/lib/texmf/texmf/tex/generic/config/language.dat, then do:
-
- ~# texconfig init ; texconfig hyphen
-
- ╖ If you add a LaTeX package, after adding the files under
- /usr/lib/texmf/texmf/tex/latex/ run the command texhash to make
- TeTeX recognise the new package.
-
- ╖ To tailor dvips, the file to edit is
- /usr/lib/texmf/texmf/dvips/config/config.ps. Be aware that the
- fields regarding the default resolution also affect xdvi's
- behaviour; if you experience annoying attempts to create fonts each
- time you run it, put in .Xdefault the line
-
- XDvi*mfmode:
-
- This should help.
-
- 3.8. PPP
-
- I'll take it for granted that your kernel has PPP + TCP/IP support
- compiled in, that loopback is enabled, and that you already have the
- pppd package correctly installed. (These requirements should be there
- by default.) There are now two ways to get PPP to work: a) manual
- configuration, and b) using a program that automagically sees to it.
- First, the manual option.
-
- Let's suppose that your ISP's specifications are the following:
-
- ╖ Phone number: 1234567
-
- ╖ Name server: 123.231.112.111
-
- ╖ Mail server: mbox.supernet.edu
-
- ╖ Domain: supernet.edu
-
- ╖ Remote hostname: www.supernet.edu
-
- ╖ Your username: John
-
- ╖ Your password: _Loo%ny
-
- To configure manually your PPP connections, you'll do:
-
- ╖ write this file /usr/local/bin/ppp-on, which will be used to
- connect to your ISP:
-
- #!/bin/sh
- # ppp-on: script to connect to an ISP
- INIT=ATX3 # or whatever your modem wants
- PHONE=1234567
- /usr/sbin/pppd connect "/usr/sbin/chat '' $INIT OK ATDP$PHONE \
- CONNECT '' " user John
-
- then make it executable with chmod 755 /usr/local/bin/ppp-on. If your
- ISP doesn't use the PAP protocol, the following script applies:
-
- #!/bin/sh
- # ppp-on: script to connect to an ISP
- INIT=atx3 # or whatever your modem wants
- PHONE=1234567
- /usr/sbin/pppd connect "/usr/sbin/chat '' $INIT OK ATDT$PHONE \
- CONNECT '' 'ogin' John 'word' _Loo%ny ''" /dev/modem 38400 \
- modem defaultroute
-
- ╖ write this file /usr/local/bin/ppp-off, used to terminate a ppp
- session:
-
- #!/bin/sh
- # ppp-off
- DEVICE=ppp0
- if [ -r /var/run/$DEVICE.pid ]; then
- kill -INT `cat /var/run/$DEVICE.pid`
- if [ ! "$?" = "0" ]; then
- echo "removing stale $DEVICE pid file."
- rm -f /var/run/$DEVICE.pid ; exit 1
- fi
- echo "$DEVICE link terminated" ; exit 0
- fi
- # link not active
- echo "$DEVICE link is not active" ; exit 1
-
- then make it executable with chmod 755 /usr/local/bin/ppp-off.
-
- ╖ write this file /etc/ppp/options:
-
- # /etc/ppp/options
- /dev/modem
- 38400
- lock
- crtscts
- modem
- asyncmap 0
- remotename www.supernet.edu
- defaultroute
-
- ╖ if your ISP uses the PAP protocol (most ISPs do), write the file
- /etc/ppp/pap-secrets:
-
- # /etc/ppp/pap-secrets
- # username remotehost secret
- John www.supernet.edu _Loo%ny
-
- ╖ edit /etc/resolv.conf:
-
- # /etc/resolv.conf
- search supernet.edu
- nameserver 123.231.112.111
-
- ╖ edit /etc/sendmail.cf. Look for the line starting with DS, and make
- it like the following:
-
- DSmbox.supernet.edu
-
- Phew! If you're lucky, this should work. Otherwise, be prepared to
- study the PPP-HOWTO.
-
- So much for manual configuration. There's a fine package that makes
- all this drudgery a thing of the past, though: it's called ezppp and
- you'll find it at http://www.serv.net/~cameron/ezppp/index.html .
- Download it at once.
-
- 3.9. POP Client
-
- To retrieve your mail from a POP server, use a POP client like
- fetchpop or fetchmail. The latter is probably the only option if your
- provider's PPP server has problems with the command LAST.
-
- To configure these clients:
-
- ╖ fetchpop: the first time you run it, you'll be prompted for some
- information. Answer the questions and you're set.
-
- ╖ fetchmail: adapt this sample .fetchmailrc:
-
- # $HOME/.fetchmailrc
- poll mbox.supernet.edu with protocol pop3;
- user john there with password _Loo%ny is john here
- mda "/usr/bin/procmail -f fetchmail"
-
- The last line may not be required. You must set the permissions to
- this file with the command chmod 600 .fetchmailrc, otherwise fetchmail
- will rightly refuse to start.
-
- 3.10. X Window System
-
- Once you've managed to make X work (right video card etc.), there are
- endless possibilities of configuration; it depends on the window
- manager you use. In any case, it's all down to editing one or more
- ASCII files in your home directory. As for the window manager:
-
- ╖ fvwm: copy /etc/X11/fvwm/system.fvwmrc to your home directory as
- .fvwmrc, browse it and start experimenting. This contributed
- system.fvwmrc is IMHO a wee bit too simple and doesn't do justice
- to fvwm.
-
- ╖ fvwm95-2: copy /etc/X11/fvwm95-2/fvwm2rc95 to your home as
- .fvwm2rc95, then edit it. The contributed example is quite good.
-
- ╖ TheNextLevel: this is rather harder to configure. Copy
- /etc/X11/TheNextLevel/.* to your home dir, browse them carefully,
- then try and tailor them. The first one to look at is
- .fvwm2rc.defines.
-
- In addition, be sure you have a proper .xinitrc. An example:
-
- #!/bin/sh
-
- # $HOME/.xinitrc
-
- # set a few keys correctly
-
- usermodmap=$HOME/.Xmodmap
- xmodmap $usermodmap
-
- xset s noblank # turn off the screen saver
- xset s 300 2 # screen saver start after 5 min
- xsetroot -solid "medium blue" &
-
- # rxvt saves memory, but has a few bugs:
- # - home and end keys are not recognised;
- # - backspace and delete don't work as in console;
- # - colours are not properly inherited by the environment;
- # - problems with the environment in general;
- # xterm is therefore better in many cases. However, rxvt is best
- # for running some colour apps like mc.
-
- xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \
- -title "Color xterm" -geometry 80x25+150+0 &
-
- fvwm95-2
-
- 3.11. Fortran
-
- In my experience, if you need Fortran a good alternative to g77 is the
- Fortran-to-C translator f2c and the front-end yaf77.
-
- Get yaf77 from
- ftp://sunsite.unc.edu/pub/Linux/devel/languages/fortran/yaf77-1.4.tgz
- and its mirrors.
-
- 3.12. Users' Configurations
-
- It's a good idea to let new users have a few configuration files ready
- when they first log in. Put the following files in /etc/skel: bashrc,
- bash_profile, bash_logout, inputrc, less, xinitrc, fvwmrc, fvwm2rc95,
- Xmodmap, Xdefaults, jedrc, joerc, emacs.
-
- (Note: due to formatting problems, I had to remove the leading dot
- (`.') from each of these files.)
-
- Note that .pinerc can't be fully tailored; make sure that at least the
- fields user-domain, smtp-server, and nntp-server are set up.
-
- 4. The End
-
- 4.1. Copyright
-
- Unless otherwise stated, Linux HOWTO documents are copyrighted by
- their respective authors. Linux HOWTO documents may be reproduced and
- distributed in whole or in part, in any medium physical or electronic,
- as long as this copyright notice is retained on all copies. Commercial
- redistribution is allowed and encouraged; however, the author would
- like to be notified of any such distributions.
-
- All translations, derivative works, or aggregate works incorporating
- any Linux HOWTO documents must be covered under this copyright notice.
- That is, you may not produce a derivative work from a HOWTO and impose
- additional restrictions on its distribution. Exceptions to these rules
- may be granted under certain conditions; please contact the Linux
- HOWTO coordinator at the address given below.
-
- In short, we wish to promote dissemination of this information through
- as many channels as possible. However, we do wish to retain copyright
- on the HOWTO documents, and would like to be notified of any plans to
- redistribute the HOWTOs.
-
- If you have questions, please contact Greg Hankins, the Linux HOWTO
- coordinator, at gregh@sunsite.unc.edu via email.
-
- 4.2. Feedback
-
- Perhaps even more than other HOWTOs, this one needs and welcomes your
- suggestions, criticisms, and contributions. Not only is feedback
- welcome: it's necessary. If you think something is missing here,
- please email me. If you have a distribution other than Red Hat and
- your config files are different or placed in other directories, please
- tell me and I'll include your tips. My aim is making life with Linux
- as easy as possible.
-
- Linux has a huge number of packages, so it's impossible to include
- directions for all of them. Please keep your requests/suggestions
- pertinent to the ``most reasonable'' programs---I'll leave it to your
- common sense.
-
- 4.3. Disclaimer
-
- ``Configuration HOWTO'' was written by Guido Gonzato,
- guido@ibogfs.cineca.it. Many thanks to all other HOWTO authors and
- man pages writers/maintainers, whose work I've cheeklessly pilfered.
-
- This document is provided ``as is''. I put great effort into writing
- it as accurately as I could, but you use the information contained in
- it at your own risk. In no event shall I be liable for any damages
- resulting from the use of this work.
-
- I hope you'll find this work useful. Whenever I install a new Linux
- box, I actually do...
-
- Enjoy,
-
- Guido =8-)
-
-